<?php
/**
* @package   auto_occasion
* @subpackage commun
* @author    CMS
* @copyright 2011
* @license    All rights reserved
*/


/**
 * Classe permettant la génération automatique du sitemap
 *
 */
class cronsitemapCtrl extends jControllerCmdLine {

    public $pluginParams = array('*'=>array('auth.required'=>false
                                )
                    );
    
    /**
    * Sitemap - automatique % urls.xml - moteur significant
    */
    function index() {
        if ( array_key_exists('REMOTE_ADDR', $_SERVER) )
            die("Can only be run from the command line!");

//        $rep = $this->getResponse('sitemap');
        $rep = $this->getResponse();
        $rep->importFromUrlsXml();
        return $rep;
    }

    /**
    * Sitemap
    */
    function generate() {
        if ( array_key_exists('REMOTE_ADDR', $_SERVER) )
            die("Can only be run from the command line!");

        jClasses::inc('commun~siteMapSrv');
        $rep = $this->getResponse();
        $rep->menusActifs = array();
       
        //Créer une sitemap de toutes les url localite
        $localite       = siteMapSrv::get();
        $marques        = siteMapSrv::getMarque();
        $date           = date('c');

        // Fonctions pour le sitemap_pa
        $annonces       = siteMapSrv::getAnnonce();
        $detailAnnonce  = siteMapSrv::getDetailAnnonce($annonces);
        $url            = siteMapSrv::getUrlAnnonce($detailAnnonce);

        // Fonctions pour le sitemap_pa_partenaire
        $partenaires     = siteMapSrv::getAnnoncePartenaire();
        $detail          = siteMapSrv::getDetailAnnonce($partenaires);
        $urlpartenaire   = siteMapSrv::getUrlAnnonce($detail);

        // Fonctions pour le sitemape_essais
        $essais          = siteMapSrv::getEssais();

        // Fonctions pour le sitemape_energie
        $energie          = siteMapSrv::getEnergie();



        $tpl = new jTpl();
        $tpl->assign('localite', $localite);
        $tpl->assign('date', $date);
        $tpl->assign('marques',$marques);
        $tpl->assign('url',$url);
        $tpl->assign('urlpartenaire',$urlpartenaire);
        $tpl->assign('energie',$energie);

        //création xml sitemapindex
        $sitemap        = $tpl->fetch('commun~sitemap');
        siteMapSrv::create($sitemap);

        //création xml sitemap_pa;
        /*$sitemapPa            = $tpl->fetch('commun~pa');
        $filepa               = 'sitemap-pa-auto-occasion.xml';
        siteMapSrv::create($sitemapPa,$filepa);*/

        //création xml sitemap_pa_partenaire;
        $sitemapPaPart         = $tpl->fetch('commun~pa_partenaire');
        $filepaPart            = 'sitemap-pa_partenaire-auto-occasion.xml';
        siteMapSrv::create($sitemapPaPart,$filepaPart);

       //création xml sitemap_energie;
        $sitemapEnergie        = $tpl->fetch('commun~energie');
        $fileEnergie           = 'sitemap-energie-auto-occasion.xml';
        siteMapSrv::create($sitemapEnergie,$fileEnergie);

        //création xml sitemap_essais;
        foreach ($essais as $essai) {
            $marque_libelle       = siteMapSrv::contenulienRewriter($essai->marque_libelle);
            $modeleEssai          = siteMapSrv::getModeleEssais($essai->marque_id);
            $detailModele         = siteMapSrv::getDetailModele($modeleEssai);
            $urlModele            = siteMapSrv::getUrlModele($detailModele);
            $urlChapitre          = siteMapSrv::getUrlChapitre($detailModele);

            $tpl->assign('essai',$essai);
            //$tpl->assign('modeleEssai',$modeleEssai);
            $tpl->assign('urlModele',$urlModele);
            $tpl->assign('urlChapitre',$urlChapitre);

            $sitemapEssai         = $tpl->fetch('commun~essai');
            $fileEssai            = 'sitemap-comparatif-'.$marque_libelle.'-auto-occasion.xml';
            siteMapSrv::create($sitemapEssai,$fileEssai);
        }

        //creation xml sitemap_energie




        foreach ($localite as $record) {

            $tpl->assign('record',$record);
            $res              = explode(',',$record->ville_secondaire_mots_cles);

            $region     = $tpl->fetch('commun~region');
            $file       = 'sitemap-'.$record->region_mots_cles.'-auto-occasion.xml';
            siteMapSrv::create($region,$file);


            $departement = $tpl->fetch('commun~departement');
            $filedept    = 'sitemap-'.$record->departement_mots_cles.'-auto-occasion.xml';
            siteMapSrv::create($departement,$filedept);

                    
            $tpl->assign('res',$res);
            $ville       = $tpl->fetch('commun~ville');
            $fileville   = 'sitemap-'.$record->grande_ville_mots_cles.'-auto-occasion.xml';
            siteMapSrv::create($ville,$fileville);

            $casseregion  = $tpl->fetch('commun~casseregion');
            $cassereg     = 'sitemap-casse-auto-'.$record->region_mots_cles.'-auto-occasion.xml';
            siteMapSrv::create($casseregion,$cassereg);


            $cassedept  = $tpl->fetch('commun~cassedept');
            $cassedep     = 'sitemap-casse-auto-'.$record->departement_mots_cles.'-auto-occasion.xml';
            siteMapSrv::create($cassedept,$cassedep);


            $casseville  = $tpl->fetch('commun~casseville');
            $cassevil     = 'sitemap-casse-auto-'.$record->grande_ville_mots_cles.'-auto-occasion.xml';
            siteMapSrv::create($casseville,$cassevil);


            $locregion  = $tpl->fetch('commun~locregion');
            $locreg     = 'sitemap-loc-auto-'.$record->region_mots_cles.'-auto-occasion.xml';
            siteMapSrv::create($locregion,$locreg);


            $locdept  = $tpl->fetch('commun~locdept');
            $locdep     = 'sitemap-loc-auto-'.$record->departement_mots_cles.'-auto-occasion.xml';
            siteMapSrv::create($locdept,$locdep);

            $locville  = $tpl->fetch('commun~locville');
            $locvil     = 'sitemap-loc-auto-'.$record->grande_ville_mots_cles.'-auto-occasion.xml';
            siteMapSrv::create($locville,$locvil);

        }

        foreach ($marques as $marque) {

           $modele       = siteMapSrv::getModele($marque->marque_id);

           $tpl->assign('marque',$marque);
           $tpl->assign('modele',$modele);

           $marquemodele  = $tpl->fetch('commun~marque');
           $filemarque    = 'sitemap-'.$marque->marque_libelle.'-auto-occasion.xml';
           siteMapSrv::create($marquemodele,$filemarque);
        }

        echo 'OK - sitemap file created at ' . date("Y-m-d h:i:s");
        return $rep;
    }


}